﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL;

public partial class Manager_UserControl_uc_Department : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            InitData();
        }
    }
    private void InitData()
    {
        ClearTextBox();
        DTP_BOPHAN objBoPhan = new DTP_BOPHAN();
        objBoPhan.TENBOPHAN = string.Empty;
        objBoPhan.GHICHU = string.Empty;
        objBoPhan.ACTIVE = chkActive.Checked;
        DisplayDepartmentInGrid(objBoPhan);
    }

    private void ClearTextBox()
    {

        hdfMSBoPhan.Value = "-1";
        txtTenBoPhan.Text = string.Empty;
        txtGhiChu.Text = string.Empty;
        chkActive.Checked = true;
        btnSave.Text = "Thêm mới";
        lblAlerting.Text = string.Empty;
    }
    protected void DisplayDepartmentInGrid(DTP_BOPHAN objBoPhan)
    {
        BoPhanBO bphan = new BoPhanBO();
        List<PRC_DTP_BOPHAN_SEARCHResult> lst = new List<PRC_DTP_BOPHAN_SEARCHResult>();
        lst = bphan.BoPhanGet_Search(objBoPhan).ToList();
        grdDepartmentList.DataSource = lst;
        if (lst.Count > 0)
        {
            grdDepartmentList.PageIndex = 0;
        }
        grdDepartmentList.DataBind();
    }
    protected void grdDepartmentList_RowCommand(object sender, GridViewCommandEventArgs e)
    {

    }
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        hdfMSBoPhan.Value = "-1";
        lblAlerting.Text = string.Empty;
        LoadGrid();

    }
    protected void grdDepartmentList_RowEditing(object sender, GridViewEditEventArgs e)
    {
        lblAlerting.Text = string.Empty;
        btnSave.Text = "Cập nhật";
        grdDepartmentList.EditIndex = e.NewEditIndex;
        hdfMSBoPhan.Value = grdDepartmentList.DataKeys[e.NewEditIndex].Value.ToString();
        string strTenBoPhan = ((Label)grdDepartmentList.Rows[e.NewEditIndex].FindControl("lblListingTenBoPhan")).Text;
        string strGhiChu = ((Label)grdDepartmentList.Rows[e.NewEditIndex].FindControl("lblListingGhiChu")).Text;
        bool Active = bool.Parse(((Label)grdDepartmentList.Rows[e.NewEditIndex].FindControl("lblListingActive")).Text);

        // Bind len control
        txtTenBoPhan.Text = strTenBoPhan;
        txtGhiChu.Text = strGhiChu;
        chkActive.Checked = Active;

    }
    protected void btnXoaTrang_Click(object sender, EventArgs e)
    {
        ClearTextBox();
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        if (txtTenBoPhan.Text.Trim().Length <= 0)
        {
            lblAlerting.Text = "Bạn chưa nhập tên nhóm!";
            return;
        }

        // Thuc hien Insert Update
        DTP_BOPHAN objBoPhan = new DTP_BOPHAN();
        objBoPhan.ID = int.Parse(hdfMSBoPhan.Value);
        objBoPhan.TENBOPHAN = txtTenBoPhan.Text;
        objBoPhan.GHICHU = txtGhiChu.Text;
        objBoPhan.ACTIVE = chkActive.Checked;

        BoPhanBO bphan = new BoPhanBO();
        if (int.Parse(hdfMSBoPhan.Value) <= 0)
        {
            hdfMSBoPhan.Value = bphan.BoPhanInsert(objBoPhan).ToString();
            if (int.Parse(hdfMSBoPhan.Value) > 0)
            {
                btnSave.Text = "Cập nhật";
                lblAlerting.Text = "Thêm mới bộ phận thành công!";
            }
            else
            {
                lblAlerting.Text = "Thêm mới bộ phận thất bại, bạn vui lòng thử lại!";
            }
        }
        else
            if (bphan.BoPhanUpdate(objBoPhan))
            {
                //btnSave.Text = "Cập nhật";
                lblAlerting.Text = "Cập nhật bộ phận thành công!";
            }
            else
            {
                lblAlerting.Text = "Cập nhật bộ phận thất bại, bạn vui lòng thử lại!";
            }
        LoadGrid();

    }
    private void LoadGrid()
    {
        DTP_BOPHAN objBoPhan = new DTP_BOPHAN();
        objBoPhan.TENBOPHAN = txtTenBoPhan.Text.Trim();
        objBoPhan.GHICHU = txtGhiChu.Text.Trim();
        objBoPhan.ACTIVE = chkActive.Checked;
        DisplayDepartmentInGrid(objBoPhan);

    }


    protected void grdDepartmentList_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        LoadGrid();
        grdDepartmentList.PageIndex = e.NewPageIndex;
        grdDepartmentList.DataBind();
    }
}